package com.lxbw.chain.entity;

import org.web3j.tuples.generated.Tuple10;

import java.math.BigInteger;


public class Kitty {
    private boolean gestating;
    private boolean ready;
    private BigInteger cooldownIndex;
    private BigInteger nextActionAt;
    private BigInteger siringWithId;
    private BigInteger birthTime;
    private BigInteger matronId;
    private BigInteger sireId;
    private BigInteger generation;
    private BigInteger genes;

    public Kitty() {
    }

    public static Kitty from(Tuple10<Boolean, Boolean, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger> obj) {
        Kitty kitty = new Kitty();

        kitty.setGestating(obj.getValue1());
        kitty.setReady(obj.getValue2());
        kitty.setCooldownIndex(obj.getValue3());
        kitty.setNextActionAt(obj.getValue4());

        kitty.setSiringWithId(obj.getValue5());
        kitty.setBirthTime(obj.getValue6());
        kitty.setMatronId(obj.getValue7());
        kitty.setSireId(obj.getValue8());

        kitty.setGeneration(obj.getValue9());
        kitty.setGenes(obj.getValue10());

        return kitty;
    }

    public boolean isGestating() {
        return gestating;
    }

    public void setGestating(boolean gestating) {
        this.gestating = gestating;
    }

    public boolean isReady() {
        return ready;
    }

    public void setReady(boolean ready) {
        this.ready = ready;
    }

    public BigInteger getCooldownIndex() {
        return cooldownIndex;
    }

    public void setCooldownIndex(BigInteger cooldownIndex) {
        this.cooldownIndex = cooldownIndex;
    }

    public BigInteger getNextActionAt() {
        return nextActionAt;
    }

    public void setNextActionAt(BigInteger nextActionAt) {
        this.nextActionAt = nextActionAt;
    }

    public BigInteger getSiringWithId() {
        return siringWithId;
    }

    public void setSiringWithId(BigInteger siringWithId) {
        this.siringWithId = siringWithId;
    }

    public BigInteger getBirthTime() {
        return birthTime;
    }

    public void setBirthTime(BigInteger birthTime) {
        this.birthTime = birthTime;
    }

    public BigInteger getMatronId() {
        return matronId;
    }

    public void setMatronId(BigInteger matronId) {
        this.matronId = matronId;
    }

    public BigInteger getSireId() {
        return sireId;
    }

    public void setSireId(BigInteger sireId) {
        this.sireId = sireId;
    }

    public BigInteger getGeneration() {
        return generation;
    }

    public void setGeneration(BigInteger generation) {
        this.generation = generation;
    }

    public BigInteger getGenes() {
        return genes;
    }

    public void setGenes(BigInteger genes) {
        this.genes = genes;
    }

    @Override
    public String toString() {
        return "Kitty{" +
                "gestating=" + gestating +
                ", ready=" + ready +
                ", cooldownIndex=" + cooldownIndex +
                ", nextActionAt=" + nextActionAt +
                ", siringWithId=" + siringWithId +
                ", birthTime=" + birthTime +
                ", matronId=" + matronId +
                ", sireId=" + sireId +
                ", generation=" + generation +
                ", genes=" + genes +
                '}';
    }
}
